import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {MeasureComponent} from './measure/measure.component';
import {MousePositionComponent} from './mouse-position/mouse-position.component';
import {FormsModule} from '@angular/forms';
import {NgZorroAntdModule} from 'ng-zorro-antd';
import {DrawFeatureComponent} from './draw-feature/draw-feature.component';
import {DrawFeatureModule} from './draw-feature/draw-feature.module';
import {LayerSwipeComponent} from './layer-swipe/layer-swipe.component';
import {ColorManipulationComponent} from './color-manipulation/color-manipulation.component';
import {ShadedReliefComponent} from './shaded-relief/shaded-relief.component';
import {ImageFiltersComponent} from './image-filters/image-filters.component';
import {ExportMapComponent} from './export-map/export-map.component';
import {SmoothLineComponent} from './smooth-line/smooth-line.component';
import {LayerSpyComponent} from './layer-spy/layer-spy.component';
import {RasterReprojectionComponent} from './raster-reprojection/raster-reprojection.component';
import {SeaLevelComponent} from './sea-level/sea-level.component';
import {VectorLabelComponent} from './vector-label/vector-label.component';
import {ScaleLineComponent} from './scale-line/scale-line.component';
import {SphereComponent} from './sphere/sphere.component';
import {FlightAnimationComponent} from './flight-animation/flight-animation.component';
import {MakerAnimationComponent} from './maker-animation/maker-animation.component';
import {FractalRenderComponent} from './fractal-render/fractal-render.component';
import {ShapeComponent} from './shape/shape.component';
import {HeatmapComponent} from './heatmap/heatmap.component';
import {BlendModesComponent} from './blend-modes/blend-modes.component';
import {CityScreenComponent} from './city-screen/city-screen.component';
import {FreehandDrawComponent} from './freehand-draw/freehand-draw.component';
import {LayerGroupComponent} from './layer-group/layer-group.component';
import {LayerClippingComponent} from './layer-clipping/layer-clipping.component';
import {SmoothReloadComponent} from './smooth-reload/smooth-reload.component';
import {CustomAnimationComponent} from './custom-animation/custom-animation.component';
import {SharedViewsComponent} from './shared-views/shared-views.component';
import {TeleportingMapsComponent} from './teleporting-maps/teleporting-maps.component';
import {CustomOverviewComponent} from './custom-overview/custom-overview.component';
import {CustomInteractionsComponent} from './custom-interactions/custom-interactions.component';
import {LayerZIndexComponent} from './layer-z-index/layer-z-index.component';
import {MovementPathComponent} from './movement-path/movement-path.component';
import {VectorBlockSelectionComponent} from './vector-block-selection/vector-block-selection.component';
import {RegionGrowingComponent} from './region-growing/region-growing.component';
import {RasterComponent} from './raster/raster.component';
import {CoordinatePositionComponent} from './coordinate-position/coordinate-position.component';
import {OnlineTileComponent} from './online-tile/online-tile.component';

const utilsComponent = [MeasureComponent, MousePositionComponent, LayerSwipeComponent, ColorManipulationComponent, ShadedReliefComponent, ImageFiltersComponent, ExportMapComponent, SmoothLineComponent, LayerSpyComponent, RasterReprojectionComponent, SeaLevelComponent, VectorLabelComponent, ScaleLineComponent, SphereComponent, FlightAnimationComponent, MakerAnimationComponent, FractalRenderComponent, HeatmapComponent, ShapeComponent, BlendModesComponent, CityScreenComponent, FreehandDrawComponent, LayerGroupComponent, LayerClippingComponent, SmoothReloadComponent, CustomAnimationComponent, SharedViewsComponent, TeleportingMapsComponent, CustomOverviewComponent, CustomInteractionsComponent, LayerZIndexComponent, MovementPathComponent, VectorBlockSelectionComponent, RegionGrowingComponent, RasterComponent, CoordinatePositionComponent, OnlineTileComponent];


const entryComponent = [DrawFeatureComponent];

@NgModule({
    declarations: [...utilsComponent],
    imports: [
        CommonModule,
        FormsModule,
        NgZorroAntdModule,
        DrawFeatureModule,
    ],
    entryComponents:
        [...utilsComponent, ...entryComponent],
    exports:
        [...utilsComponent]
})

export class MapUtilsModule {
}
